package com.sc.pb_user.pojo;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 课程表
 * </p>
 *
 * @author PBObserver
 * @since 2025-09-19 05:02:16
 */
@Getter
@Setter
@TableName("pb_course")
public class PbCourse {

    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 课程标题
     */
    @TableField("title")
    private String title;

    /**
     * 逻辑外键，关联pb_course_category.id
     */
    @TableField("category_id")
    private Long categoryId;

    /**
     * 封面图URL
     */
    @TableField("cover_img")
    private String coverImg;

    /**
     * 视频URL
     */
    @TableField("video_url")
    private String videoUrl;

    /**
     * 价格，0为免费
     */
    @TableField("price")
    private BigDecimal price;

    /**
     * 是否会员免费：0-否，1-是
     */
    @TableField("is_member_free")
    private Boolean isMemberFree;

    /**
     * 视频时长(秒)
     */
    @TableField("duration")
    private Integer duration;

    /**
     * 课程简介
     */
    @TableField("content")
    private String content;

    /**
     * 关联标签ID，逗号分隔
     */
    @TableField("tag_ids")
    private String tagIds;

    /**
     * 状态：0-下架，1-上架
     */
    @TableField("status")
    private Boolean status;

    /**
     * 创建时间
     */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private Date createTime;
}
